package com.ruoyi.asset.tool.service;

import com.ruoyi.asset.tool.domain.Tool;
import com.ruoyi.asset.tool.domain.bo.ToolSearchBo;
import com.ruoyi.asset.tool.domain.bo.ToolStatisticsBo;
import com.ruoyi.asset.tool.domain.vo.ToolVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 作业工具导入明细Service接口
 *
 * @author cc
 * @date 2023-08-29
 */
public interface IToolService {

    Boolean batchInsertOrUpdate(List<Tool> voList);

    /**
     * 数据导入
     */
    List<String> importExcel(String excelUrl, String serviceType);

    /**
     * 校验并批量删除
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 查询作业工具列表
     */
    TableDataInfo<ToolVo> queryPageList(ToolSearchBo searchBo, PageQuery pageQuery);

    /**
     * 导出作业工具
     */
    List<ToolVo> exportTool(ToolSearchBo searchBo);

    /**
     * 按服务类型统计作业工具
     */
    Map statisticsToolByServiceType(String serviceType);

    ToolStatisticsBo getCountByServiceType(String serviceType);

    ToolStatisticsBo getCountByServiceTypeAndCommunity(String serviceType,String community);

    ToolStatisticsBo getCommunityByServiceTypeAndDate(String serviceType,String community,String date);
}
